iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0
生成式 AI

AI的雲上漫遊系列 第 8

Day8 向量資料庫和語義搜索

  • 分享至 

  • xImage
  •  

上述介紹完整個RAG的流程,各位有沒有想過我們怎麼產生知識庫?就是需要使用我們的向量資料庫,向量資料庫是一種專門設計用於存儲和檢索向量數據的資料庫系統。


主要特點:

  1. 高維數據存儲:能夠有效的存儲和管理高維向量數據。
  2. 相似性搜索:支持快速的近似最近鄰搜索。

常見的向量資料庫:

  • Chroma
  • PGVector
  • Pinecone

等這些著名的向量資料庫!

那我們該怎麼把文字轉成向量呢?甚至是如何完成相似性搜索讓判斷最具有相關性?

大概可以分幾個點來理解,因為我們需要轉換為電腦能夠理解的語言,所以使用了向量的方式讓電腦理解我們的思維及想法,所以在做向量會需要很多工大概是以下:

  • 文本預處理
    • 清理文本,去除特殊字符、多餘空格等。
    • 進行小寫化、去除停用詞等操作。
  • 分詞/標記化
    • 將文本分割成單詞或子詞單元。
    • 對於中文等語言,可能需要特殊的分詞技術。
  • 向量化
    • 使用預訓練的語言模型(如BERT、Word2Vec、GloVe等)將分詞後的文本轉換為數值向量。
    • 每個詞或句子都被映射到高維空間中的一個點。
  • 存儲
    • 將生成的向量存儲在向量資料庫中(如Chroma、Pinecone等)。

電腦有了這些數據之後即可使用語義搜索 ,可以參考以下圖片:

https://ithelp.ithome.com.tw/upload/images/20240909/20106094XNW0WruYVV.png

向量通常會有許多維度,語義越相近,向量數值就越近,所以相似度越高會讓我們的結果產生最相關的上下文。

完整的資料可以參考以下,可以更明白演算法的過程!

參考資料:https://www.pinecone.io/learn/series/nlp/dense-vector-embeddings-nlp/


上一篇
Day7 RAG的基本概念和工作原理
下一篇
Day9 RAG實作1 - Indexing
系列文
AI的雲上漫遊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言